package com.hy.study.environment;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.util.StringValueResolver;

/**
 * 获取系统的环境变量和application.yaml中的配置信息
 *
 * @author huyong
 * @date 2024 年 01 月 08 日 16:29: 26
 */
@Configuration
@Slf4j
public class MyEnvironment implements EnvironmentAware {
    @Value("${spring.datasource.url}") // 使用el表达式读取spring主配置文件
    private String jdbcUrl;

    @Override
    public void setEnvironment(Environment environment) {
        String[] activeProfiles = environment.getActiveProfiles();
        // springEL表达式获取的值
        log.info("springel表达式获取的值：" + jdbcUrl);
        // 获取系统属性：
        log.info("JAVA_HOME" + environment.getProperty("JAVA_HOME"));
        // 获取spring主配置文件中的属性
        log.info("spring.datasource.url:" + environment.getProperty("spring.datasource.url"));
    }
}
